package com.itheima.service;

import com.itheima.pojo.OperateLog;
import com.itheima.pojo.PageBean;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * 操作日志服务接口
 */
public interface OperateLogService {
    
    /**
     * 插入操作日志
     */
    void insertLog(OperateLog operateLog);
    
    /**
     * 分页查询操作日志
     */
    PageBean page(Integer page, Integer pageSize, Integer operateEmpId, 
                  LocalDateTime startDate, LocalDateTime endDate, 
                  String className, String methodName);
    
    /**
     * 根据ID删除操作日志
     */
    void deleteById(Integer id);
    
    /**
     * 批量删除操作日志
     */
    void deleteByIds(List<Integer> ids);
    
    /**
     * 删除所有操作日志
     */
    void deleteAll();
    
    /**
     * 获取统计信息
     */
    Map<String, Object> getStatistics();
    
    /**
     * 获取趋势数据
     */
    List<Map<String, Object>> getTrendData();
    
    /**
     * 获取类型分布数据
     */
    List<Map<String, Object>> getTypeData();
}
